package com.cskaoyan.javase.basic._1identifier; /**
 * @description: 标识符命名规范
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 驼峰命名法: 在存在多个单词组成的字符串时,怎么表示? 以hello + world组成的字符串为例
 *      1.大驼峰: 所有单词的首字母都大写,HelloWorld,MyJava,Student
 *      2.小驼峰: 第一个单词的首字母小写,其余单词首字母大写helloWorld,myJava,student
 *
 * 1.标识符语法上的命名规范:
 *    标识符的组成
 *   - 数字（0~9）
 *   - 字母（com.cskaoyan.javase.basic._1identifier.A~Z 和 a~z）
 *   - 美元符号（$）
 *   - 下划线（_）
 *   - Unicode 字符集中符号大于**0xC0**的所有符号
 * - 标识符的开头
 *   - 字母（com.cskaoyan.javase.basic._1identifier.A~Z 和 a~z）
 *   - 下划线（_）
 *   - 美元符号（$）
 *   - Unicode 字符集中符号大于**0xC0**的所有符号
 *
 * 2.真实的标识符组成规则（目前把这些规范掌握就足够了）
 *      a.包的命名
 *          什么是包?Java当中的包很类似操作系统中的文件夹,从操作系统中看包就是文件夹
 *          包的作用:
 *              1.分类,可以用来组织很多的Java文件
 *              2.用来区分同名的Java文件,
 *                  所以同包下不允许存在同名的Java文件,也没有同名的Java类
 *              3.在Java中包还是用来做访问权限限制的(挖坑后面填)
 *           怎么命名:
 *              包的命名以反转公司的域名,全部小写为开头
 *              举例:
 *                  www.cskaoyan.com ---> com.cskaoyan
 *                  www.baidu.com ---> com.baidu
 *              而后根据不同的功能,不同的用途自行定义包名(但是仍然要求小写)
 *              注意事项:
 *                  a.写代码一定要有包,不建议直接在src目录下创建Java文件
 *                  b.包名全部小写
 *                  c.多级包名之间用"."分隔
 *
 *      b.类的命名 定义class时的命名规范: 遵循大驼峰式的命名规范
 *          比如Student,Dog,CatBody
 *          注意事项:
 *              1.尽量使用正确的英文单词,不要用中文,不要用拼音(除非有特殊情况)
 *              2.类在命名时尽量"见名知意"
 *
 *      c.变量的命名 给变量起名字:遵循小驼峰式的命名规范
 *          比如age,score,salary,myName,yourName
 *
 */
public class Demo {
    public static void main(String[] args) {
        //Non-ASCII characters in an identifier
        int 长风 =10;
        System.out.println(长风);

        int Class;
        //int DataClass#;

        //int Hello  World; 空格也是一个字符,包括空格,换行,制表等等

        int 好きだ;

        int age;
        //int nianLing; 不合适

        //idea是有拼写检查的,写出了错误的单词,会变绿
        int naem; //错误的拼写

        int len1;
    }
}
//同一个Java文件中的非public的class和public class是属于同包的关系
class A{}
